安装成功后需要手动开启服务,因为我们刚设置 serviceInstaller1.StartType 为 Manual
打开windows 服务管理器,找到名为 Service1 的服务,右键属性。点击【启动】按钮
windows 调试
1 回到开发环境,选择调试->附加到进程,勾选”显示所有用户进程“
2 找到 WindowsService1.exe 进程(如果没有点击下刷新按钮),选中后点击“附加到进程”按钮。
3 选中 Service1.cs 文件,后按 F7 打开代码视图
4 在所有 str 变量上添加调试断点
5 回到windows服务管理器,找 Service1 服务并选中它,在左侧有一个“暂停”按钮。点击一下
这时,OnPause 方法下的断点命中!OK 达到了调试的目的了
注册成功后,启动 Windows服务 时遇到错误:1083 的解决办法
1.查看 Main() 方法中是否启动了指定的服务
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1(),
new Service2() //如果建立多个服务需要添加这段代码
};
ServiceBase.Run(ServicesToRun);
2.确保 ProjectInstaller.cs 视图设计器中的 serviceInstaller1 组件的 ServiceName 属性
与 Service1.cs 组件的 ServiceName 属性一致
添加服务安装成功后自启动功能
1.打开 ProjectInstaller.cs 视图设计器,选中 serviceInstaller1 组件
2.打开 serviceInstaller1 组件的事件窗口,双击 AfterInstall 事件
3.在 serviceInstaller1_AfterInstall 事件方法下添加如下代码
System.ServiceProcess.ServiceController sc = new System.ServiceProcess.ServiceController();
sc.ServiceName = “ExpressDispatchingTrack”; //必须与 ProjectInstaller.cs 视图设计器中的 serviceInstaller1 组件的 ServiceName 属性
一致
sc.Start();